/**
* Copyright (c) By zengqh.
*
* This program is just for fun or demo, in the hope that it  
* will be useful, you can redistribute it and/or modify freely.
*
* Time: 2013/03/07
* File: PixelShader.h
**/

#pragma once

#include <render_system/BaseRenderSystem/PixelShader.h>

namespace HY
{
class OGLPixelShader : public PixelShader
{
	friend class OGLRenderSystem;
public:
	virtual ~OGLPixelShader();

	uint32 getHandle() const;
	virtual void release();

	virtual const std::string& getSourceCode() const;
	virtual void setSourceCode(const std::string& code);

	bool compile();

protected:
	OGLPixelShader();

protected:
	uint32			handle_;
	std::string		shader_code_;
};
}